如何避免自动更改panda dataframe中的数据类型并在python中转换为CSV?

如何避免自动更改panda dataframe中的数据类型并在python中转换为CSV?,python,json,pandas,csv,dataframe,Python,Json,Pandas,Csv,Dataframe,我正在尝试使用python中的pandas将Json文件转换为csv json文件数据: [{ "source": "https://www.na-kd.com/en/sweaters/cardigans/button-up-ribbed-cropped-cardigan-pink", "class_ids": "3_33", "id_matrix": "0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0

我正在尝试使用python中的pandas将Json文件转换为csv

json文件数据:

[{
    "source": "https://www.na-kd.com/en/sweaters/cardigans/button-up-ribbed-cropped-cardigan-pink",
    "class_ids": "3_33",
    "id_matrix": "0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0",
    "tags": "cardigan_neckline",
    "front": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_01g.jpg",
    "back": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_02a.jpg",
    "left": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_03b.jpg",
    "right": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_04c.jpg",
    "zoomedin": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg",
    "otherurl": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg"
}, {...}, {...}]
我的代码将转换为CSV文件..(但熊猫会自动更改“id_矩阵”和“class_id”的数据类型,我想更改这些列字符串..)

raw_data=pd.read_json('/home/mobin/PycharmProjects/na-kd/Jsons/mapped_improvedcheck.json')
raw_data.to_csv("csv_file/samplecheck.csv")

result = raw_data.dtypes
print(result)
print(raw_data['id_matrix'][:10])
此代码的输出:

source        object
class_ids      int64
id_matrix    float64
tags          object
front         object
back          object
left          object
right         object
zoomedin      object
otherurl      object
dtype: object
0    1.000000e+43
1    1.000000e+43
2    1.000000e+43
3    1.000000e+43
4    1.000000e+43
5    1.000000e+43
6    1.000000e+43
7    1.000000e+43
8    1.000000e+43
9    1.000000e+43
您可以使用熊猫的属性。数据框:

import pandas as pd

raw_data = pd.read_json('/home/mobin/PycharmProjects/na-kd/Jsons/mapped_improvedcheck.json')
raw_data2 = raw_data.astype('object')
raw_data2.to_csv('csv_file/samplecheck.csv')

result = raw_data2.dtypes
print(result)
print(raw_data2['id_matrix'][:10])
更新:我在
samplecheck.csv
文件中得到的是:

,back,class_ids,front,id_matrix,left,otherurl,right,source,tags,zoomedin
0,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_02a.jpg,333,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_01g.jpg,1e+42,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_03b.jpg,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_04c.jpg,https://www.na-kd.com/en/sweaters/cardigans/button-up-ribbed-cropped-cardigan-pink,cardigan_neckline,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg

这段代码将float转换为object,但没有给出我的require输出,同时在csv中写入。您的代码输出:
source object class\u id object id\u matrix object tags object front object back object left object right object zoomedin object otherurl object dtype:对象0 1e+43 1 1e+43 2 1e+43 3 1e+43 4 1e+43 5 1e+43 6 1e+43 7 1e+43 8 1e+43 9 1e+43名称:id_矩阵,数据类型:对象