Как убрать «двойные кавычки» в данных при чтении данных методом read_csv? - PullRequest
0 голосов
/ 20 октября 2019

Я читаю данные из файла .csv, используя панд. Я использую sep = ', \ s *' , потому что sep = ',' не работает для указания столбцов. Мой .csv файл :

tarih_x,Alt_urun,per_geomean
2018-07-13,Antep fıstığı-Açık,81.87336164596796
2018-07-14,Antep fıstığı-Açık,81.87336164596796
2018-07-15,Antep fıstığı-Açık,81.87336164596796
2018-07-16,Antep fıstığı-Açık,81.87336164596796
2018-07-17,Antep fıstığı-Açık,81.87336164596796

Я читаю данные:

path = "data//gün_result_index.csv"
df = pd.read_csv(path,encoding='utf-16',sep=',\s*',engine='python')

, но когда я печатаю df, я вижу, что метод добавляет двойные кавычкиданные:

|   | "tarih_x    | Alt_urun           | per_geomean"       |
|---|-------------|--------------------|--------------------|
| 0 | "2018-07-13 | Antep fıstığı-Açık | 81.87336164596796" |
| 1 | "2018-07-14 | Antep fıstığı-Açık | 81.87336164596796" |
| 2 | "2018-07-15 | Antep fıstığı-Açık | 81.87336164596796" |
| 3 | "2018-07-16 | Antep fıstığı-Açık | 81.87336164596796" |

Это не то, что я хочу. Как я могу читать данные без двойных кавычек?

Ответы [ 2 ]

0 голосов
/ 20 октября 2019

Вероятно, есть более короткий путь. Обходной путь, который я нашел:

df.columns = df.columns.str.replace('\"', '')
for i in df.columns:
    df[i]= df[i].apply(lambda x: x.replace("\"",""))
0 голосов
/ 20 октября 2019

Для меня df = pd.read_csv('file.csv') работает просто отлично:

      tarih_x            Alt_urun  per_geomean
0  2018-07-13  Antep fıstığı-Açık    81.873362
1  2018-07-14  Antep fıstığı-Açık    81.873362
2  2018-07-15  Antep fıstığı-Açık    81.873362
3  2018-07-16  Antep fıstığı-Açık    81.873362
4  2018-07-17  Antep fıstığı-Açık    81.873362

Но encoding='utf-16' дает:
UnicodeError: UTF-16 stream does not start with BOM

Я использую панды 0.25.1 в Ubuntu.

...