Различия в экспорте .csv в Pandas - двойные кавычки - PullRequest
1 голос
/ 26 января 2020

У меня есть файл .csv, который представлен таким образом (когда я открываю его в Excel)

a,description,b,c                                #columns
something,"bla,bla,bla",something,something      #elements
something,"bla,bla,bla",something,something      #elements
something,"bla,bla,bla",something,something      #elements

Когда я импортирую .csv в pandas

df = pd.read_csv("a.csv")

значения описания представлены без двойных кавычек

       a       description     b          c            
0   something  bla,bla,bla  something  something      
1   something  bla,bla,bla  something  something      
2   something  bla,bla,bla  something  something

1-й сценарий

Теперь, если я экспортирую df , то есть из pandas в .csv df.to_csv(r"a1.csv", index=False, header=True) двойные кавычки все еще присутствуют в файле .csv, как и ожидалось (когда я открываю его в excel)

a,description,b,c                                #columns
something,"bla,bla,bla",something,something      #elements
something,"bla,bla,bla",something,something      #elements
something,"bla,bla,bla",something,something      #elements

2-й сценарий

Однако, если я уменьшу набор данных с помощью маскирования в pandas

df1 = df.loc[:,("description","c")]


      description     c                      
0     bla,bla,bla  something       
1     bla,bla,bla  something       
2     bla,bla,bla  something 

, а затем экспортирую этот новый набор данных df1 в файл .csv, используя ту же строку кода df1.to_csv(r"a2.csv", index=False, header=True) без установки quoting=csv.QUOTE_NONE двойные кавычки теперь исчезают в .csv (когда я открываю его в excel)

description,c              #columns
bla,bla,bla,something      #elements
bla,bla,bla,something      #elements
bla,bla,bla,something      #elements

Мне интересно, почему это происходит? А также мне интересно, почему все запятые, присутствующие в столбце «описание», не вызывают ошибку error: Expected 2 fields in line x, saw x, если я импортирую этот последний .csv в pandas df2 = pd.read_csv("a2.csv"). Кажется, что двойные кавычки читаются и присутствуют, даже если они не отображаются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...